Skip to content

fix(1611): delegate Playwright browser-dep install to npx (Ubuntu 24.04 t64)#1707

Merged
mcdonc merged 1 commit into
mainfrom
fix-dist-smoke-t64-deps
Jul 21, 2026
Merged

fix(1611): delegate Playwright browser-dep install to npx (Ubuntu 24.04 t64)#1707
mcdonc merged 1 commit into
mainfrom
fix-dist-smoke-t64-deps

Conversation

@mcdonc

@mcdonc mcdonc commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Follow-up to #1705 / #1611. The dist-smoke-test job failed its first real workflow_dispatch run on the apt-get install step: Package 'libasound2' has no installation candidate.

Root cause

Ubuntu 24.04's t64 transition renamed several runtime libraries with no Compatibility-Symlink — libasound2 is now a virtual package provided by libasound2t64, and libatk1.0-0 / libatk-bridge2.0-0 / libcups2 / libglib2.0-0 got the same -t64 suffix. The hand-maintained apt list in the workflow used the pre-t64 names, so apt refused.

Failed run: https://github.com/mcdonc/klangk/actions/runs/29845509929/job/88686361663

Fix

Stop hand-maintaining the Playwright browser-dep list. The workflow installs only caddy curl python3 python3-venv; the Playwright runtime libs are installed by npx playwright install --with-deps chromium (which scripts/dist-smoke-test.sh already runs). Playwright's install-deps list tracks per-OS package renames automatically, so the t64 transition (and any future rename) is handled upstream.

Diff: one workflow file, eight lines changed. Topology unchanged (build-wheel → dist-smoke-test → publish-and-release, manual dispatch still gated).

…ow-up)

The dist-smoke-test job's hand-maintained apt list broke on the Ubuntu 24.04
t64 transition: libasound2 became a virtual package (provided by
libasound2t64), libatk1.0-0 → libatk1.0-0t64, libcups2 → libcups2t64, etc.
apt refused: "Package 'libasound2' has no installation candidate" → the
smoke job failed before the wheel was even downloaded
(https://github.com/mcdonc/klangk/actions/runs/29845509929/job/88686361663).

Install only caddy + curl + python3 + python3-venv in the workflow; let
`npx playwright install --with-deps chromium` (which the script already
runs) provide the browser runtime libs. Playwright's install-deps list
tracks per-OS package renames automatically, so the t64 transition (and
any future rename) is handled upstream rather than maintained here.
@mcdonc
mcdonc merged commit 6da6084 into main Jul 21, 2026
8 checks passed
@mcdonc
mcdonc deleted the fix-dist-smoke-t64-deps branch July 21, 2026 15:57
mcdonc added a commit that referenced this pull request Jul 21, 2026
… (#1710)

The dist-smoke-test gate is currently red on #1709 (klangkd's caddy child
can't coexist with another caddy / binds 2019 on bootstrap instead of the
UDS) — a klangkd bug, not a wheel-packaging bug. Holding the release
pipeline hostage to the smoke being green means no release can happen
until #1709 is fixed, which is the wrong coupling.

Restructure:

- New .github/workflows/dist-smoke.yml — standalone workflow, workflow_dispatch
  only, two jobs (build-wheel → dist-smoke-test). No publish. This is now a
  release-engineering tool the release manager runs against a release-
  candidate branch before tagging (`gh workflow run dist-smoke.yml --ref <branch>`).

- Revert .github/workflows/release.yml to its pre-#1705 shape:
  build-and-release + build-wheel (env: pypi, publishes) run in parallel,
  no smoke in the chain. The "never yank" invariant now holds by workflow:
  the release manager runs dist-smoke.yml against the RC branch first, and
  only tags once it's green (or after manually assessing any failures).

- scripts/dist-smoke-test.sh header: updated the CI-without-tagging pointer
  to reference dist-smoke.yml instead of release.yml's workflow_dispatch.

Also notes in dist-smoke.yml that the smoke is currently expected to fail
until #1709 lands, so a maintainer running it isn't surprised.

Follow-up to #1705, #1707, #1708.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant